﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Services;
using System.Text;
using System.Threading.Tasks;

namespace System.Sensors
{
    public interface ISensorService<TSensor, TReadingData> : IService
    {
        uint MinimumReportInterval { get; }
        uint ReportInterval { get; set; }
        TSensor Sensor { get; }
        Task<TReadingData> PollData();
        bool IsSensorAvailable { get; }
        bool IsSubscribed { get; }
        void Subscribe();
        void Unsubscribe();
    }
}
